﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Web;

namespace TestWSTMS{
    /// <summary>
    /// Lấy danh sách lĩnh vực
    /// </summary>
    public class ProfileTypeGroup
    {
        public int ProfileTypeGroupId { get; set; }
        public string Name { get; set; }
    }
    public class ProfileType
    {
        public int ProfileTypeId { get; set; }
        public string Code { get; set; }
        public string Name { get; set; }
        public int WorkflowId { get; set; }
        public int AmountProfile { get; set; }
        public int ResolveDays { get; set; }
        public decimal Fees { get; set; }
        public int DepartmentId { get; set; }
        public int ProfileTypeGroupId { get; set; }
        public int ImplementationListId { get; set; }
        public int ResultsImplementationListId { get; set; }
    }
    /// <summary>
    /// Căn cứ pháp lý
    /// </summary>
    public class LegalGroundsList
    {
        public int LegalGroundsListId { get; set; }
        public string Name { get; set; }
    }
    /// <summary>
    /// Lấy danh sách trạng thaí
    /// </summary>
    public class Level
    {
        public int LevelId { get; set; }
        public string Name { get; set; }
    }
    /// <summary>
    /// Thông tin hồ sơ thủ tục hành chánh
    /// </summary>
    public class Profile
    {
        public int ProfileId { get; set; }
        public string Code { get; set; }/*Mã hồ sơ*/
        public string Name { get; set; }/*Tên hồ sơ*/
        public int ProfileTypeId { get; set; }
        public int ProfileStatusId { get; set; } /*Id trạng thái hồ sơ : Trang thai ho so(CHOBOXUNG, DABOXUNG, TIEPNHAN, CHOPHANCONG, 
                                                 *DAPHANCONG, CHOTHULY, DANGTHULY, HOANTHANH, CHODUYET, 
                                                 *DADUYET, KHONGDUYET, CHOKY, DAKY, KHONGKY, DATHUPHI, CHOTRA, DATRA, TUCHOI)*/
        public string SmsGet { get; set; }
        public string Email { get; set; }
        public int CreateUserId { get; set; }
        public DateTime? CreateDate { get; set; }
        public DateTime? ReceivingDate { get; set; } /*Ngày tiếp nhận*/
        public DateTime? AppointmentDate { get; set; } /*Ngày hẹn trả*/
        public int LevelId { get; set; }
        public bool Object { get; set; }
        public DateTime? SettlementDate { get; set; }
        public string Notes { get; set; }
        public string Attachments { get; set; }
        public string ContentWork { get; set; }
        public int StorageLocationProfileListId { get; set; }
        public bool IsDelete { get; set; }
        public string OrganName { get; set; }
        public string Address { get; set; }
        public string Phone { get; set; }
        public string AttachmentsOriginal { get; set; }
        public bool IsOpen { get; set; }
    }
    /// <summary>
    /// Danh mục thành phần hồ sơ
    /// </summary>
    public class CompositionProfileList
    {
        public int CompositionProfileListId { get; set; }
        public string Code { get; set; }
        public string Name { get; set; }
    }
    /// <summary>
    /// Danh mục yêu cầu
    /// </summary>
    public class RequirementsList
    {
        public int RequirementsListId { get; set; }
        public string Name { get; set; }
    }
    /*-------------------------Models---------------------------*/
    /// <summary>
    /// [câu 1 Lấy danh sách lĩnh vực]*/
    /// </summary>
    public class GetProfileTypeGroupsAllModel
    {
        public int status { get; set; }/*0: erro | 1: success*/
        public string message { get; set; } /*Nội dung thông báo: nếu là lổi hiễn thị nội dung lổi*/
        public List<ProfileTypeGroup> model { get; set; } /*Kết quả trả về*/
    }
    /// <summary>
    /// [Câu 2: Lấy danh sách thủ tục theo lĩnh vực]
    /// </summary>
    public class GetProfileTypeByProfileTypeGroupsModel
    {
        public int status { get; set; }/*0: erro | 1: success*/
        public string message { get; set; } /*Nội dung thông báo: nếu là lổi hiễn thị nội dung lổi*/
        public List<ProfileType> model { get; set; } /*Kết quả trả về*/
    }
    /// <summary>
    /// [Câu 3: Lấy thủ tục theo ID thủ tục]
    /// </summary>
    public class GetProfileTypeByIdModel
    {
        public int status { get; set; }/*0: erro | 1: success*/
        public string message { get; set; } /*Nội dung thông báo: nếu là lổi hiễn thị nội dung lổi*/
        public ProfileType model { get; set; } /*Kết quả trả về*/
    }
    /// <summary>
    /// [Câu 4] Lấy yêu cầu thực hiện thủ tục hành chính theo ID thủ tục
    /// </summary>
    public class GetRequirementsListByIdProfileTypeModel
    {
        public int status { get; set; }/*0: erro | 1: success*/
        public string message { get; set; } /*Nội dung thông báo: nếu là lổi hiễn thị nội dung lổi*/
        public List<RequirementsList> model { get; set; } /*Kết quả trả về*/
    }
    /// <summary>
    /// [Câu 5] Lấy căn cứ pháp lý theo ID thủ tục
    /// </summary>
    public class GetLegalGroundsListByIdProfileTypeModel
    {
        public int status { get; set; }/*0: erro | 1: success*/
        public string message { get; set; } /*Nội dung thông báo: nếu là lổi hiễn thị nội dung lổi*/
        public List<LegalGroundsList> model { get; set; } /*Kết quả trả về*/
    }
    /*Câu 6: lấy thành phần hồ sơ theo ID thủ tục*/
    public class GetCompositionProfileListByIdProfileTypeModel
    {
        public int status { get; set; }/*0: erro | 1: success*/
        public string message { get; set; } /*Nội dung thông báo: nếu là lổi hiễn thị nội dung lổi*/
        public List<CompositionProfileList> model { get; set; } /*Kết quả trả về*/
    }
    /*Câu 7: Lấy danh sách trạng thái cấp*/
    public class GetLevelAllModel
    {
        public int status { get; set; }/*0: erro | 1: success*/
        public string message { get; set; } /*Nội dung thông báo: nếu là lổi hiễn thị nội dung lổi*/
        public List<Level> model { get; set; } /*Kết quả trả về*/
    }

    public class GetProfileByCodeModel
    {
        public int status { get; set; }/*0: erro | 1: success*/
        public string message { get; set; } /*Nội dung thông báo: nếu là lổi hiễn thị nội dung lổi*/
        public List<Profile> model { get; set; } /*Kết quả trả về*/
    }
    public class TiepNhanHoSoModel{
            /*Note: [*] bắt buộc*/
            public int ProfileTypeId { get; set; } /* [*] */
            //public int ProfileStatusId { get; set; }/*[Không cần xét ws sẽ cập nhật lại] Trạng thái hố sơ default: Tiếp nhận*/
            public List<CompositionProfileList> Composition { get; set; } /*[lấy thông tin từ câu 6]Thành phần hồ so*/
            public string Name { get; set; }/*[*] Tên hồ sơ*/
            public string SmsGet { get; set; }/*Số điện thoại nhận tin nhắn*/
            public string Email { get; set; }/*Email*/
            public Level Level { get; set; }/*[lấy từ câu 7] Lần cấp*/
            public bool Object { get; set; }/*đối tượng thực hiện*/
            public string OrganName { get; set; }/*[*] Tên tổ chức/cá nhân*/
            public string Address { get; set; }/*Điạ chỉ tổ chức/cá nhân*/
            public string Phone { get; set; }/*Điện thoại tổ chức/ cá nhân*/
            public string Notes { get; set; }/*Ghi chú*/
            public fileUpload Attachments { get; set; }/*file đính kèm nội dung đơn*/
            public fileUpload AttachmentsOriginal { get; set; }/*file đính kèm hồ sơn gốc*/
            public int UserId { get; set; }/*[không cần xét, để null]*/
    }
    public class fileUpload{
        public byte[] f { get; set; }
        public string fileName;
    }
    public class ResulTiepNhanHoSoModel{
        public int status { get; set; }/*0: erro | 1: success*/
        public string message { get; set; } /*Nội dung thông báo: nếu là lổi hiễn thị nội dung lổi*/
    }
}
